1. Field of Invention
The present invention relates to gyroscopes integrated into handheld devices. More specifically, it relates to methods/systems for mitigating gyroscope drift error and hand jitter error in such devices.
2. Description of Related Art
A computer mouse is a type of computer input device. A common form of these input devices is the planar-surface-based computer mouse, which is moved on a planar surface to control a computer cursor on a screen, with movements of the cursor corresponding to movements of the mouse. Objectives in the design of a computer mouse are versatility, accuracy, ease of use, and intuitiveness of corresponding movements between the mouse and the cursor on the screen.
Computer mouse technology has undergone various permutations over the years. An early computer mouse technology used a light beam emanated from under the mouse onto a planar, reflective surface covered with a grid line pattern. Mouse movement was tracked by noting the grid lines that the emanated light beam crossed as the mouse was moved. This technology offered relatively high accuracy, as determined by the pitch of the grid lines, but was hindered by high cost and the need for specialized reflective grid surfaces.
Another computer mouse technology used a mechanical roller ball, or track ball, to track mouse movements. This reduced the cost of the mouse and removed the need for a reflective grid surface, but offered lower accuracy and reliability. To improve the accuracy of this type of mouse, a high friction surface, i.e. a mouse pad, was typically required.
The introduction of inexpensive silicon lasers and LEDs greatly improved the accuracy of a computer mouse while at the same time eliminating the need for a mechanical ball and high friction surface. However, mouse movement was still restricted to a planar surface.
Human arm and hand movements, or gestures, are free flowing and not restricted to a two-dimensional plane. More specifically, such hand gestures are not restricted to a flat surface, although a computer screen (at which the hand gestures may be directed) is typically a flat surface. Thus, a need exist for better translation of free-flowing hand gestures within a three-dimensional space to movements of a computer cursor on a two-dimensional computer screen.
The introduction of miniature gyroscope technology brought about the advent of the gyroscope-based mouse, which is not limited to movements on a planar surface. Rather, a group of gyroscopes (i.e. three gyroscopes) within the mouse permit it to detect mouse motion within a three-dimensional space.
Several challenges stand in the way of the gyroscope-based mouse becoming a prevalent computer mouse technology. First is a limitation of the gyroscope technology itself. To make a commercially viable mouse, requires the use of relatively inexpensive gyroscopes, which unfortunately are prone to drift error. That is, they will indicate a motional drift even when there is no motion. This motional drift is typically small, but cumulative, and its cumulative effect can cause a computer cursor to drift in an unintended manner. A gyroscope-based mouse should compensate for this drift error phenomenon.
Another limitation of the gyroscope-based mouse is the human operator of the mouse. A human typically cannot maintain a perfectly steady hand for prolong periods; rather, the hand is prone to involuntary shaking (i.e. hand jitter). When a gyroscope-based mouse is held in the hand in a free-flowing manner, hand jitter will translate into unwanted shaking of the mouse, which will then result in unintended shaking of a corresponding cursor on a computer screen. A gyroscope-based mouse should likewise compensate for this hand jitter phenomenon.
One method of addressing drift error and hand jitter error is to filter out small and/or slow movements, but this tends to reduce the mouse's fine cursor control since it no longer responds accurately to intentional small/slow movements.
The company Gyration™ produces an example of a gyroscope-based mouse that is a combination of a traditional flat surface-based mouse and a Gyro mouse. A description of their gyroscope-based mouse, and of how they address some of the issues that afflict a Gyro mouse are described in U.S. Pat. No. 5,825,350 and U.S. Pat. No. 5,898,421, herein incorporated in their entirety by reference. One approach to addressing drift error and hand jitter, as proposed by Gyration, is to provide an activation button to enable/disable the Gyro mouse, or to lock the computer cursor in place on a display screen. Although this effectively masks the effects of drift error and hand jitter on the computer cursor while the Gyro mouse is disabled, these errors return when the mouse is once again enabled. Furthermore, since drift error and hand jitter are not addressed directly, fine cursor control remains illusive.
What is needed is a gyroscope-based mouse that offers fine cursor control and high accuracy. Preferably, such a gyroscope-based mouse should utilized inexpensive gyroscopes, but offer effective compensation for drift error and hand jitter. Furthermore, its error compensation should not impede the mouse's ability to quickly respond to intended small and/or slow mouse movements.